(Not Applicable)
(Not Applicable)
1. Technical Field
This invention relates to the field of voice recognition software, and more particularly, to a method for hands-free operation of a pointer.
2. Description of the Related Art
Often, tasks which able body persons take for granted can be difficult for disabled persons. One such routine task can be manipulation of a common mouse pointing device for use with a computer system. Presently, disabled persons suffering from physical limitations still lack an acceptable solution for manipulating a mouse or other pointing device. Speech recognition technology can offer disabled persons an intuitive hands-free method of operating a computer system, navigating within one application, or even among several applications.
Speech recognition is the process by which an acoustic signal received by a microphone is converted to text by a computer. The converted text can be used in a variety of computer software applications for purposes such as document preparation, data entry, and command and control. The area of command and control is a particularly important aspect of speech recognition as it relates to the hands-free operation of computer systems by disabled users. Attempts to develop systems for hands-free navigation of software applications and operating systems have yielded systems presently known within the art. Unfortunately, present systems suffer from various disadvantages.
Voice enabled applications represent an attempt at hands-free operation of software applications. Within such systems, a user can access an object command by saying the corresponding object name. For example, to activate a command in a file, edit or view menu in a menu or toolbar, the user can say xe2x80x9cfilexe2x80x9d, xe2x80x9ceditxe2x80x9d, or xe2x80x9cviewxe2x80x9d. Saying any one of the aforementioned words can cause the object""s respective drop down menu to appear, as if the object had been xe2x80x9cclicked onxe2x80x9d using a mouse. In this manner, a user can operate the various features of a software application.
While voice enabled applications are useful, there are disadvantages. One disadvantage is that the voice operation of a software application can be limited to applications that support Active Accessibility(copyright) (MSAA) from Microsoft Corporation of Redmond, Wash. Because MSAA is a relatively new technology, many software applications do not support MSAA technology. Additionally, MSAA can limit the user to voice access of objects defined within MSAA rather than all objects in the software application. Consequently, the user may not have access to the full functionality of an application. Additionally, MSAA technology can limit the user to accessing only commands within an active software application in a computer system. Thus, navigating from one application to another can prove problematic.
Another current system for hands-free operation of a computer system utilizes a computer generated grid mapping the screen of a computer display. Concurrently, a coordinate system corresponding to intersections on the grid can be formed. In consequence, a user can specify to the system a coordinate identifying a location on the screen on which to position a mouse pointer. However, the coarseness of the grid restricts users in placing mouse pointers only at locations having defined coordinates. Although the user""s desired location may be near a coordinate, it may not lie exactly on the coordinate. As a result, the system can increase the resolution of the grid by providing more mapped intersections on the screen in order to better target the user""s desired pointer placement.
An inherent disadvantage of grid systems is that the user may have to perform several steps to move the pointer to the desired location. For example, the user must first specify a coordinate within the main grid system. Next, the user must specify a location closer to the user""s desired location on a grid having an increased resolution. This process can be repeated until the user is able to specify a coordinate describing the user""s desired location. Also problematic can be the case in which the resolution of the grid system is not precise enough for exact placement of the pointer. In such cases, the lack of adequate resolution prevents the user from navigating the full extent of the screen.
Another hands-free system currently known within the art makes use of voice commands for initiating pointer movement. Within such systems, voice commands initiate continuous motion of the pointer. The pointer continues to move in a given direction specified by the voice command until the user issues a xe2x80x9cstopxe2x80x9d command. By issuing various voice commands interspersed with stop commands, a user can move a pointer to a particular location on the screen.
Disadvantages of such voice navigation systems can include the likelihood of the pointer overshooting the user""s desired location on screen. The overshooting can result from the substantial computer processing resources required by the voice navigation application. A corresponding system latency caused by the speech recognition function in the voice recognition application in recognizing a stop command can cause the pointer to overshoot the user""s desired location. Moreover, such systems do not address the overshooting problem by providing the user with a method of finely adjusting the pointer motion or speed. As a result, there remains a substantial chance that the pointer will overshoot the user""s desired location.
Consequently, hands-free application navigation systems known in the art have been unable to achieve the same degree of access to application functionality currently available to a user using a conventional mouse. Thus, present systems can limit a user""s access to functionality. Likewise, present systems can compel the user to perform repetitive operations. Finally, to achieve hands-free operation of a software application, present systems can require the user to choose a less preferable application equipped with accessibility features. As a result, there has arisen a need for an improved method and system for hands-free operation of a mouse pointer.
The invention concerns a method and a system for hands-free control of a pointer. The method of the invention involves a plurality of steps including, defining a set of user voice commands for hands-free control of a pointer and, in response to receiving a first audio input recognized as one of the set of user voice commands, initiating motion of the pointer in a direction indicated by the user voice command. Subsequently, in response to receiving a second audio input, the pointer motion can be discontinued. Finally, in response to receiving one or more subsequent audio inputs not recognized as being among the set of user voice commands, the pointer can be incrementally moved responsive to the subsequent audio inputs.
Notably, in one embodiment, the incremental motion can vary according to a measured volume of the subsequent audio input. Moreover, in another embodiment, an appearance of the pointer can be changed from a default appearance to a modified appearance prior to receiving the first audio input.
Significantly, each of the subsequent audio inputs can be one of an audio input recognized as being a user voice command among the set of user voice commands, and an audio input not recognized a user voice command as being among the set of user voice commands. In one embodiment of the inventive method, if one of the subsequent audio inputs is an audio input recognized as a user voice command among the set of user voice commands, the method of the invention can include moving the pointer to a location on screen where the pointer existed when the computer system first began receiving the subsequent audio input recognized as a user voice command. Additionally, the method of the invention can include executing the user voice command received in the second receiving step. In one embodiment, the method of the invention can further include detecting a pause of a predetermined duration between the subsequent audio inputs and the subsequent audio input recognized as a user voice command among the set of user voice commands.
The user voice command can include a command word, and optionally one or more parameters. In accordance with this aspect of the invention, the step of receiving a first audio input recognized by the speech recognition engine as being among the set of user voice commands can further include the steps of receiving at least one parameter associated with the user voice command; and, controlling the pointer movement according to the at least one parameter.
Notably, the pointer motion can be controlled in one or more software applications in the computer system. In addition, the pointer motion can be controlled in a software application not equipped with accessibility features. Finally, the pointer motion can be controlled in an operating system.
In a computer system having a speech recognition engine for processing audio input, a hands-free method of controlling a pointer can comprise the following steps. First, a command-mode voice command recognized as being among a predefined set of user voice commands for hands-free controlling the pointer can be accepted for moving the pointer in accordance with at least one parameter supplied with the command-mode command. Second, a transition can occur from the command-mode to an idle-mode for fine positioning the pointer. Finally, the pointer can be incrementally moved in the idle-mode in response to audio inputs not recognized as being user voice commands among the set of user voice commands, each incremental movement occurring concurrently with a corresponding audio input. In one aspect of the invention, the incremental motion can vary according to a measured volume of the audio inputs. Moreover, in an alternative aspect of the invention, an appearance of the pointer can be changed from a default appearance to a modified appearance prior to receiving the first audio input.
The transitioning step can comprise monitoring the speech recognition engine for a first audio input; and determining if the first audio input is one of a command not recognized as a user voice command included in the predefined set of user voice commands, an idle-mode command and a specific command for selecting idle mode. If the first audio input is one of a command not recognized as a user voice command included in the predefined set of user voice commands, an idle-mode command and a specific command for selecting idle mode, the pointer motion caused by said command-mode command can be discontinued. Significantly, each of the audio inputs can be one of an audio input recognized as being among the predefined set of user voice commands for controlling the pointer, and an audio input not recognized as being among the predefined set of user voice commands for controlling the pointer. In a preferred embodiment of the invention, if the first audio input is an audio input recognized as being among the predefined set of user voice commands for controlling the pointer, the pointer can be moved to a location on screen where the pointer existed when the user voice command was first received. Subsequently, the user voice command received in the transitioning step can be executed.